Event Object Overview
An event object is a synchronization object whose state can be explicitly set to signaled by using RtSetEvent or RtPulseEvent. The two types of event objects are:
- Manual-reset event — An event object whose state remains signaled until it is explicitly reset to nonsignaled by RtResetEvent. While it is signaled, any number of waiting threads, or threads that subsequently specify the same event object in a call to RtWaitForSingleObject, can be released.
- Auto-reset event — An event object whose state remains signaled until a single waiting thread is released, at which time the system automatically sets the state to non-signaled. If no threads are waiting, the event object's state remains signaled.
An event object is useful in sending a signal to a thread, indicating that a particular action has occurred.